#ifndef JFILE_H
#define JFILE_H

#include <JXQIO/JFileDevice>

namespace JXQ
{

class JFilePrivate;

class JXQLIB_EXPORT JFile : public JFileDevice
{
public:
	JFile();
	explicit JFile(const JString &name);
	~JFile();

public:
	bool move(const JString &newName);
	static bool move(const JString &oldName, const JString &newName);

public:
	bool copy(const JString &newName);
	static bool copy(const JString &oldName, const JString &newName);

public:
	bool remove();
	static bool remove(const JString &name);

public:
	void sync();

private:
	J_DISABLE_COPY(JFile)
	JFilePrivate *d_ptr;
};

} //namespace JXQ


#endif //JFILE_H
